// components/authorization/index.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {},
  /**
   * 组件的初始数据
   */
  data: {
    isLogin: false,
  },
  lifetimes: {
    // 小程序组件一般在attached操作setData，而不是在created中
    attached() {
      // 获取到 当前页面的url,拼接到url中,跳转到登录页
      const pages = getCurrentPages() //返回打开页面的历史记录-数组
      // 页面的来源页位数组的最后一项,最后一项位数组长度-1,因为索引是从0开始的
      // pages[pages.length - 1].route获取到数组来源页
      // 因为我们登录页面跳转是在权限组件里面实现的,所以获取页面信息写在权限组件里面
      const currentPage = pages[pages.length - 1].route
      console.log('页面历史记录  ----->  ', pages)
      console.log('页面的来源页  ----->  ', currentPage)

      // 登录状态 存在应用实例上
      // 获取应用实例
      const app = getApp()
      // 取出本地token转为布尔值
      const isLogin = !!app.token //字符串转为blooean类型  隐式转换写法
      // const isLogin = Bolean(app.token) //转为布尔类型 隐式转换写法

      // 把登录状态 设置到isLogin data变量中
      this.setData({
        isLogin,
      })

      // 判断当前是否已经登录 未登录 跳转到登录页面
      if (!isLogin) {
        wx.utils.toast('你还未登录,请去登录')
        // 延迟1.5秒后跳转
        setTimeout(() => {
          // 跳转到登录页面的时候把来源页面也一起发送过去 redirect重定向
          wx.navigateTo({ url: '/pages/login/index?redirect=' + currentPage })
        }, 1500)
      }
    },
  },
  /**
   * 组件的方法列表
   */
  methods: {},
})
